
namespace Himall.Entity
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations.Schema;

    /// <summary>
    /// 商品信息表
    /// </summary>
    public partial class ProductInfo:BaseModel
    {      
        long _id;
        public new long Id { get{ return _id; } set{ _id=value; base.Id = value; } }
        /// <summary>
        /// 店铺ID
        /// </summary>
        public long ShopId { get; set; }
        /// <summary>
        /// 分类ID
        /// </summary>
        public long CategoryId { get; set; }
        /// <summary>
        /// 分类路径
        /// </summary>
        public string CategoryPath { get; set; }
        /// <summary>
        /// 类型ID
        /// </summary>
        public long TypeId { get; set; }
        /// <summary>
        /// 品牌ID
        /// </summary>
        public long BrandId { get; set; }
        /// <summary>
        /// 商品名称
        /// </summary>
        public string ProductName { get; set; }
        /// <summary>
        /// 商品编号
        /// </summary>
        public string ProductCode { get; set; }
        /// <summary>
        /// 广告词
        /// </summary>
        public string ShortDescription { get; set; }
        /// <summary>
        /// 销售状态
        /// </summary>
        public ProductSaleStatus SaleStatus { get; set; }
        /// <summary>
        /// 添加日期
        /// </summary>
        public System.DateTime AddedDate { get; set; }
        /// <summary>
        /// 显示顺序
        /// </summary>
        public long DisplaySequence { get; set; }
        /// <summary>
        /// 存放图片的目录
        /// </summary>
        private string imagePath { get; set; }
        /// <summary>
        /// 市场价
        /// </summary>
        public decimal MarketPrice { get; set; }
        /// <summary>
        /// 最小销售价
        /// </summary>
        public decimal MinSalePrice { get; set; }
        /// <summary>
        /// 是否有SKU
        /// </summary>
        public bool HasSKU { get; set; }
        /// <summary>
        /// 浏览次数
        /// </summary>
        public long VistiCounts { get; set; }
        /// <summary>
        /// 销售量
        /// </summary>
        public long SaleCounts { get; set; }
        /// <summary>
        /// 审核状态
        /// </summary>
        public ProductAuditStatus AuditStatus { get; set; }
        /// <summary>
        /// 运费模板ID
        /// </summary>
        public long FreightTemplateId { get; set; }
        /// <summary>
        /// 重量
        /// </summary>
        public Nullable<decimal> Weight { get; set; }
        /// <summary>
        /// 体积
        /// </summary>
        public Nullable<decimal> Volume { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public Nullable<int> Quantity { get; set; }
        /// <summary>
        /// 计量单位
        /// </summary>
        public string MeasureUnit { get; set; }
        /// <summary>
        /// 修改状态 0 正常 1己修改 2待审核 3 己修改并待审核
        /// </summary>
        public int EditStatus { get; set; }
        /// <summary>
        /// 是否已删除
        /// </summary>
        public bool IsDeleted { get; set; }
        /// <summary>
        /// 最大购买数
        /// </summary>
        public int MaxBuyCount { get; set; }
        /// <summary>
        /// 是否使用经营分类分佣
        /// </summary>
        public bool IsUseCategoryCommis { get; set; } = true;
        /// <summary>
        /// 分佣比例
        /// </summary>
        public decimal CommisRate { get; set; } = 0.00M;
        /// <summary>
        /// 一级分佣比例
        /// </summary>
        public decimal CommisRateOne { get; set; } = 0.00M;
        /// <summary>
        /// 二级分佣比例
        /// </summary>
        public decimal CommisRateTwo { get; set; } = 0.00M;
        /// <summary>
        /// 三级分佣比例
        /// </summary>
        public decimal CommisRateThree { get; set; } = 0.00M;
        public virtual ICollection<ProductConsultationInfo> ProductConsultationInfo { get; set; } = new HashSet<ProductConsultationInfo>();
        public virtual ICollection<ProductAttributeInfo> ProductAttributeInfo { get; set; } = new HashSet<ProductAttributeInfo>();
        [NotMapped]
        public virtual ProductDescriptionInfo ProductDescriptionInfo { get; set; } = new Entity.ProductDescriptionInfo();
        public virtual ICollection<SKUInfo> SKUInfo { get; set; } = new HashSet<SKUInfo>();
        public virtual ICollection<FavoriteInfo> Himall_Favorites { get; set; } = new HashSet<FavoriteInfo>();
        public virtual ICollection<FloorProductInfo> Himall_FloorProducts { get; set; } = new HashSet<FloorProductInfo>();
        public virtual ICollection<ProductShopCategoryInfo> Himall_ProductShopCategories { get; set; } = new HashSet<ProductShopCategoryInfo>();
        internal virtual ICollection<ShoppingCartItemInfo> Himall_ShoppingCarts { get; set; } = new HashSet<ShoppingCartItemInfo>();
        public virtual ICollection<ProductCommentInfo> Himall_ProductComments { get; set; } = new HashSet<ProductCommentInfo>();
        public virtual ICollection<ModuleProductInfo> Himall_ModuleProducts { get; set; } = new HashSet<ModuleProductInfo>();
        public virtual ICollection<ShopHomeModuleProductInfo> Himall_ShopHomeModuleProducts { get; set; } = new HashSet<ShopHomeModuleProductInfo>();
        public virtual ICollection<ProductVistiInfo> Himall_ProductVistis { get; set; } = new HashSet<ProductVistiInfo>();
        public virtual ICollection<BrowsingHistoryInfo> Himall_BrowsingHistory { get; set; } = new HashSet<BrowsingHistoryInfo>();
        public virtual FreightTemplateInfo Himall_FreightTemplate { get; set; }
        public virtual ICollection<MobileHomeProductsInfo> Himall_MobileHomeProducts { get; set; } = new HashSet<MobileHomeProductsInfo>();
        public virtual ICollection<FloorTablDetailsInfo> Himall_FloorTablDetails { get; set; } = new HashSet<FloorTablDetailsInfo>();
        public virtual CategoryInfo Himall_Categories { get; set; }
        public virtual ICollection<CollocationPoruductInfo> Himall_CollocationPoruducts { get; set; } = new HashSet<CollocationPoruductInfo>();
        public virtual ICollection<CollocationSkuInfo> Himall_CollocationSkus { get; set; } = new HashSet<CollocationSkuInfo>();
        public virtual ICollection<AgentProductsInfo> Himall_AgentProducts { get; set; } = new HashSet<AgentProductsInfo>();
        public virtual ICollection<FlashSaleInfo> Himall_FlashSale { get; set; } = new HashSet<FlashSaleInfo>();
        public virtual ICollection<ProductBrokerageInfo> Himall_ProductBrokerage { get; set; } = new HashSet<ProductBrokerageInfo>();
        public virtual ShopInfo Himall_Shops { get; set; }
    }
}
